Companies in many different industries handle large database operations using mainframe computers. One such industry is the telecommunications industry, where databases are used to store detailed subscriber records. These databases are large and require routine maintenance to manage them due to a number of reasons, including crashes, updates, corrections, and verifications.
One mainframe manufacturer is International Business Machines (IBM). IBM also provides a database software program known as DB2, which can manage very large databases (e.g., several hundred Gigabytes). As understood in the art, mainframe computers operate by processing jobs that are scheduled in a queue. These jobs are formed by a series of statements or commands that are processed by a processor of the mainframe computer. Jobs are generally statements formatted in the job control language (JCL). Typically, a mainframe computer runs a job by scheduling and executing a file with JCL commands or statements configured for the mainframe computer to perform a task, such as re-loading a database from a certain time. In addition to the file with JCL statements, control cards are used to set parameters for the jobs and know the syntax of the control cards. The control cards are typically eighty-byte strings that have each byte and groups of bytes representative of the different parameters. The JCL commands and control cards are comprehensive and generally require well-trained database administrators to adequately generate proper job files and control cards to perform even routine procedures and maintenance on DB2 databases.
To aid database administrators, IBM provides database utilities. These utilities are JCL programs that are configured to perform certain functions. The database administrator, however, must generate a procedure, generally known as a “proc,” and control card for each job. Companies that manage large numbers of databases, such as telecommunication service providers, may have over 25,000 databases. To perform a single, routine or regularly executed function on each database, a JCL command file, proc file, and control card must be created. Typically, six or more regularly executed operations, including check copy, modify, reorg, quiesce, and runstats, and many non-regularly schedule operations are performed on each database. This means that in the event of a global change to any of the JCL command files, proc files, or control cards, 150,000 or more file edits must be made.
FIG. 1 is an illustration of a system 100 having representative databases 102a-102n (collectively 102) and software structure 103 for performing existing DB2 database operations using JCL files 104a-104n, procs 106a-106n, and control cards 108a-108n. As shown, each database uses three software components (i.e., JCL file, proc file, and control card) to perform a single operation (e.g., copy operation). As understood in the art, creating and managing software of the software structure 103 is time consuming, costly, and reliant on a limited number of skilled employees. Even with skilled employees, it is not uncommon for run-time errors to be caused by improperly written control cards. The DB2 databases are provided with a user interface, but the user interface is a single screen that is confusing to skilled database administrators and limited to interfacing with utilities provided by IBM. Other vendors provide different utility programs, but these, too, require control cards having different formats to be generated by the user. And, the other vendors' utilities have different, similarly complex user interfaces. Another problem that exists with existing utilities provided by IBM and other vendors is the complexity of reports produced by the utilities. The reports generated by current utilities are cluttered, provide too much information, and are generally difficult to interpret.
These and other issues result in significant costs and expenses to staff database operations with database administrators. For example, in a typical telecommunications company, twenty or more database administrators are needed to manage the customer database and support database developers because the database developers are unfamiliar and generally unskilled to generate the necessary database utility operations needed during database development projects and interpret the resulting reports. This number of database administrators is generally needed because of the amount of time needed to generate JCL files, proc files, and control cards using the utilities available by both IBM and other vendors.